package miniBanco.Gui;

import java.awt.FlowLayout;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JPanel;

import miniBanco.Dto.TransferenciaDTO;
import MySwing.JFormField;
import MySwing.JFormNumberField;

@SuppressWarnings("serial")
public class TransferenciaPanel extends JPanel{
	JFormField txtCuenta;
	JFormField txtCuentaID;
	JFormNumberField txtCbuDestino;
	JFormField txtCuentaDestinoID;
	JFormField txtCuentaDestino;	
	JButton cbuDestinoButton;
	JButton btnTransferencia;
	JFormNumberField txtImporte;
	JPanel panel1;
	Box buttonBox;
	public TransferenciaPanel()
	{
		setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
		txtCuenta = new JFormField("Cuenta Origen", 20);
		txtCuenta.getTextField().setEnabled(false);
		txtCuentaDestino = new JFormField("Cuenta Destino", 20);
		txtCuentaDestino.getTextField().setEnabled(false);		
		txtCuentaID = new JFormField("Cuenta ID ", 20);
		txtCuentaID.getTextField().setEnabled(false);
		txtCuentaDestinoID = new JFormField("Cuenta Destino ID ", 20);
		txtCuentaDestinoID.getTextField().setEnabled(false);		
		txtCbuDestino = new JFormNumberField("Cbu Destino", 0, 0, 999999, 0);
		txtImporte = new JFormNumberField("Importe a transferir", 0, 0, 999999, 0);
		cbuDestinoButton = new JButton("Buscar cuenta");
		panel1 = new JPanel();
		panel1.setLayout(new FlowLayout());
		panel1.add(txtCbuDestino);
		panel1.add(cbuDestinoButton);

		btnTransferencia = new JButton("Transferir");
		buttonBox = Box.createHorizontalBox();
		buttonBox.add(btnTransferencia);
		addComponents();

	}
	private void addComponents()
	{
		add(txtCuentaID);
		add(txtCuenta);
		add(txtCuentaDestinoID);
		add(txtCuentaDestino);
		add(panel1);
		add(txtImporte);
		add(buttonBox);
	}
	public TransferenciaDTO getFormValues()
	{
		TransferenciaDTO t = new TransferenciaDTO();
		t.setCuentaOrigenID(Integer.parseInt(txtCuentaID.getTextField().getText()));
		t.setCuentaDestinoID(Integer.parseInt(txtCuentaDestinoID.getTextField().getText()));
		String sImporte = txtImporte.getSpinner().getValue().toString();
		if(sImporte != "" || sImporte != null)
		{
			float importe = Float.parseFloat(sImporte);
			t.setImporte(importe);
		}
		return t;
	}
	public int getCuentaDestino()
	{
		String cuentaDestino = txtCbuDestino.getSpinner().getValue().toString();
		if(cuentaDestino != "" || cuentaDestino != null)
		{
			return Integer.parseInt(cuentaDestino);
		}
		return 0;
	}
	public void SetInitialValues(Long cuentaID,String cuentaOrigen)
	{
		String sCuentaID = Long.toString(cuentaID);
		txtCuentaID.getTextField().setText(sCuentaID);
		txtCuenta.getTextField().setText(cuentaOrigen);
		
	}
	public void SetCuentaDestino(String cuenta,long cuentaDestinoID)
	{
		String sCuentaDestingoId  = Long.toString(cuentaDestinoID);
		this.txtCuentaDestinoID.getTextField().setText(sCuentaDestingoId);
		this.txtCuentaDestino.getTextField().setText(cuenta);
	}
	public JButton getButtonCuentaDestino()
	{
		return cbuDestinoButton;
	}
	public JButton getButtonTransferencia()
	{
		return btnTransferencia;
	}	
}
